GdkDevice *device)
{
GdkPointerSurfaceInfo *info;
+ GdkSeat *seat;
- if (device && gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
- device = gdk_device_get_associated_device (device);
+ if (device)
+ {
+ seat = gdk_device_get_seat (device);
+
+ if (device == gdk_seat_get_keyboard (seat))
+ device = gdk_seat_get_pointer (seat);
+ }
if (G_UNLIKELY (!device))
return NULL;
devices = gdk_seat_get_physical_devices (s->data, GDK_SEAT_CAPABILITY_TABLET_STYLUS);
for (d = devices; d; d = d->next)
{
- device = gdk_device_get_associated_device (d->data);
+ device = d->data;
gdk_surface_set_cursor_internal (surface, device, surface->cursor);
}
g_list_free (devices);